#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define D long double
int a[4000][4000];
signed main(){
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	freopen("fire.in","r",stdin);
	freopen("fire.out","w",stdout);
	int n,shu;
	cin>>n>>shu;
	int pd,p,q,dir,i,op,w,mod=999999999;
	ll ans;
	while(shu--){
		ans=0;
		cin>>pd;
		if(pd==1){
			cin>>dir>>i>>op>>w;
			if(dir==1){
				if(op==1)
				{
					for(int j=0;j<n;++j)
						a[i-1][j]=(a[i-1][j]&w);
				}
				if(op==2)
				{
					for(int j=0;j<n;++j)
						a[i-1][j]=(w|a[i-1][j]);
				}
				if(op==3)
				{
					for(int j=0;j<n;++j)
						a[i-1][j]=(a[i-1][j]^w);
				}
				if(op==4)
				{
					for(int j=0;j<n;++j)
						a[i-1][j]=(a[i-1][j]+w)%mod;
				}
			}
			if(dir==0)
			{
				if(op==1)
				{
					for(int j=0;j<n;++j)
						a[j][i-1]=(a[j][i-1]&w);
				}
				if(op==2)
				{
					for(int j=0;j<n;++j)
						a[j][i-1]=(a[j][i-1]|w);
				}
				if(op==3)
				{
					for(int j=0;j<n;++j)
						a[j][i-1]=(a[j][i-1]^w);
				}
				if(op==4)
				{
					for(int j=0;j<n;++j)
						a[j][i-1]=(a[j][i-1]+w)%mod;
				}
			}
		}
		if(pd==2)
		{
			cin>>p>>q;
			for(int j=0;j<q;++j)
			{
				for(int z=0;z<p;++z)
				{
					ans+=a[q][p];
				}
			}
			cout<<ans<<endl;
		}
	}
	return 0;
}
